package com.cloud.cmt.cmtsso.base;//package com.cloud.cmt.usermanage.base;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.context.WebApplicationContext;
//import org.springframework.web.context.support.WebApplicationContextUtils;
//
//import javax.servlet.ServletContext;
//import javax.servlet.http.HttpServletRequest;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//public class BaseCtl {
//
//	@Autowired
//	private BaseServiceImpl baseService;
//
//	private String mapperName;
//
//	public void setMapperName(String mapperName) {
//		this.mapperName = mapperName;
//	}
//
//	private void setMapper(HttpServletRequest request) {
//		ServletContext servletContext = request.getSession().getServletContext();
//		WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext);
//		Mapper mapper = (Mapper) context.getBean(mapperName);
//		baseService.setMapper(mapper);
//	}
//
//	/**
//	 * @description 新增一条记录
//	 * @param :map
//	 */
//	@ResponseBody
//	@RequestMapping(value = "save", method = RequestMethod.POST)
//	public Map save(HttpServletRequest request, @RequestBody Map map) {
//		this.setMapper(request);
//		int code = baseService.insert(map);
//		Map result = new HashMap();
//		if (code == 1) {
//			result.put("errorMessage", "success");
//			result.put("errCode", "8200");
//			result.put("id", map.get("id"));
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", "8200");
//			result.put("success", false);
//		}
//		return result;
//	}
//
//	/**
//	 * 删除指定ID的记录
//	 *
//	 * @param id
//	 * @return
//	 */
//	@ResponseBody
//	@RequestMapping(value = "{id}", method = RequestMethod.DELETE)
//	public Map delete(HttpServletRequest request, @PathVariable long id) {
//		this.setMapper(request);
//		int code = baseService.delete(id);
//		Map result = new HashMap();
//		if (code == 1) {
//			result.put("errorMessage", "success");
//			result.put("errCode", "8200");
//			result.put("id", id);
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", "8200");
//			result.put("success", false);
//		}
//		return result;
//	}
//
//	/**
//	 * 修改记录
//	 *
//	 * @param id
//	 * @return
//	 */
//	@ResponseBody
//	@RequestMapping(value = "{id}", method = RequestMethod.PUT)
//	public Map update(HttpServletRequest request, @PathVariable int id, @RequestBody Map map) {
//		this.setMapper(request);
//		Map result = new HashMap();
//		if (!map.containsKey("id")) {
//			map.put("id", id);
//		}
//		int code = baseService.update(map);
//		if (code == 1) {
//			result.put("errorMessage", "success");
//			result.put("errCode", "8200");
//			result.put("id", id);
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", "8200");
//			result.put("success", false);
//		}
//		return result;
//	}
//
//	/**
//	 * 按ID值获取记录
//	 *
//	 * @param id
//	 * @return
//	 */
//	@ResponseBody
//	@RequestMapping(value = "{id}", method = RequestMethod.GET)
//	public Map getItem(HttpServletRequest request, @PathVariable int id) {
//		this.setMapper(request);
//		Map result = new HashMap();
//		Object item = baseService.get(id);
//		if (null != item) {
//			result.put("errorMessage", "success");
//			result.put("errCode", "8200");
//			result.put("data", item);
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", "8200");
//			result.put("success", false);
//		}
//		return result;
//	}
//
//	/**
//	 * 按ID值获取记录
//	 *
//	 * @param
//	 * @return
//	 */
//	@ResponseBody
//	@RequestMapping(value = "getAll", method = RequestMethod.GET)
//	public Map getAllItems(HttpServletRequest request) {
//		this.setMapper(request);
//		Map result = new HashMap();
//		List items = baseService.getAll();
//		if (null != items) {
//			result.put("errorMessage", "success");
//			result.put("errCode", "8200");
//			result.put("data", items);
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", "8200");
//			result.put("success", false);
//		}
//		return result;
//	}
//
//	/**
//	 * 条件查询
//	 *
//	 * @param
//	 * @return
//	 */
//	@ResponseBody
//	@RequestMapping(value = "query", method = RequestMethod.POST)
//	public Map query(HttpServletRequest request, @RequestBody Map conditions) {
//		this.setMapper(request);
//		Map result = new HashMap();
//		List items = baseService.query(conditions);
//		if (null != items) {
//			result.put("errorMessage", "success");
//			result.put("errCode", "8200");
//			result.put("data", items);
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", "8200");
//			result.put("success", false);
//		}
//		return result;
//	}
//
//	/**
//	 * 分页查询
//	 *
//	 * @param
//	 * @return
//	 */
//	@ResponseBody
//	@RequestMapping(value = "page", method = RequestMethod.POST)
//	public Map pageQuery(HttpServletRequest request, @RequestBody Map map) {
//		this.setMapper(request);
//		Map result = new HashMap();
//		Map conditions = new HashMap();
//		int pageNo = (int) map.get("pageNo");
//		int pageSize = (int) map.get("pageSize");
//		if (map.containsKey("fields"))
//			conditions.put("fields", map.get("fields"));
//		if (map.containsKey("where"))
//			conditions.put("where", map.get("where"));
//		if (map.containsKey("order"))
//			conditions.put("order", map.get("order"));
//		if (map.containsKey("group"))
//			conditions.put("group", map.get("group"));
//		PageBean pageBean = new PageBean(pageNo, pageSize);
//		int code = baseService.page(pageBean, conditions);
//		if (code == 8200) {
//			result.put("errorMessage", "success");
//			result.put("errCode", code);
//			result.put("count", pageBean.getTotal());
//			result.put("current_page", pageBean.getPageNo());
//			result.put("page_size", pageBean.getPageSize());
//			result.put("total_page", pageBean.getPages());
//			result.put("data", pageBean.getItemList());
//			result.put("success", true);
//		} else {
//			result.put("errorMessage", "failed");
//			result.put("errCode", code);
//			result.put("success", false);
//		}
//		return result;
//	}
//
//}
